package bm.com.project.server.organization.service;

import bm.com.project.server.common.dto.SearchBaseDTO;
import bm.com.project.server.organization.dto.BmOrgMemberDTO;
import bm.com.project.server.organization.dto.VoBmOrgMemberDTO;
import bm.com.project.server.organization.entity.BmOrgMemberEntity;
import bm.com.framework.common.resp.PageVO;
import bm.com.framework.common.resp.ResultVO;
import com.baomidou.mybatisplus.extension.service.IService;

public interface MemberService extends IService<BmOrgMemberEntity> {

    /**
     * 获取列表
     * @param searchKeywordDTO
     * @return
     */
        PageVO<VoBmOrgMemberDTO> getList(SearchBaseDTO queu);

    /**
     * 获取详情
     * @param departmentId
     * @return
     */
    BmOrgMemberEntity getDetail(String departmentId);

    /**
     * 获取邀请链接
     * @param orgId
     * @param userId
     * @param limitNum
     * @return
     */
    ResultVO getInviteLink(String orgId, String userId, int limitNum);

    /**
     * 通过邀请码，加入组织
     * @param userId
     * @param inviteCode
     * @return
     */
    ResultVO joinOrg(String userId,String inviteCode);

    /**
     * 审核是否加入组织
     * @param inviteRecordId
     * @param isCheck
     * @return
     */
    ResultVO checkInvite(String inviteRecordId,String departmentId,int isCheck);

    /**
     * 通过手机号批量导入成员
     * @param mobiles
     * @return
     */
    ResultVO batchImport(String mobiles);

    /**
     * 编辑成员信息
     * @param bmOrgMember
     * @return
     */
    ResultVO edit(BmOrgMemberDTO bmOrgMember);

    /**
     * 设置管理员
     * @param memberId
     * @param isManager
     * @return
     */
    ResultVO setManager(String memberId,int isManager);

}